![某ラジオ番組が放送300回だったので、AlteryxとTableauでセットリストをバーチャートレース風に可視化してみた](https://devio2023-media.developers.io/wp-content/uploads/2018/11/alteryx-and-tableau-1200x6301.png)
某ラジオ番組が放送300回だったので、AlteryxとTableauでセットリストをバーチャートレース風に可視化してみた
こんにちは、スズです。趣味は観劇です。
ミュージカル俳優の井上芳雄がラジオパーソナリティを務める番組、井上芳雄 by MYSELFが2023/01/22の放送で300回を迎えました。
この番組では、スタジオから生歌と生演奏をお届けするコーナーがあります。再放送も含めると、累計で428曲放送しているようです。放送される曲はミュージカルナンバーのほかに、J-POPなどから選曲されています。
本記事では、こちらのラジオ番組で放送された曲を、AlteryxとTableauを使ってバーチャートレース風に可視化してみました。
Alteryxでデータの作成
まずはラジオ番組のWebサイトにセットリストが載っていますので、Alteryxでデータを作成します。Webサイトからセットリストをコピーして、Alteryxのキャンバスに張り付けると、テキスト入力ツールでデータが作成されます。
データを見ると、以下のような記載があります。
<2023>
428.Luck Be A Lady(ミュージカル『ガイズ&ドールズ』2022/5/29OA) ゲスト:浦井健治 1/22
記載方法は一部例外がありましたが、基本的にはこの形式で記載されています。記載内容は以下の通り読み取れます。
記載内容の例 | 意味 |
---|---|
<2023> | ラジオを放送した年。 |
428. | 番号。 |
Luck Be A Lady(ミュージカル『ガイズ&ドールズ』2022/5/29OA) | 曲名と曲に関する情報。ミュージカルからの引用の場合はミュージカルの記載がある。日付がある場合は本放送日を示す。 |
ゲスト:浦井健治 | デュエットの場合はゲストの記載がある。 |
1/22 | ラジオを放送した月と日。 |
このデータを以下の通り変換していきます。categoryには、ミュージカルの曲か、それ以外の曲かを示す値として、Musical SongsまたはOthersを出力していきます。
number | date | title | guest | category |
---|---|---|---|---|
428 | 2023-01-22 | Luck Be A Lady(ミュージカル『ガイズ&ドールズ』2022/5/29OA) | 浦井健治 | Musical Songs |
データの整形のために作成したワークフローは以下の通りです。
簡単にワークフローの中身をご紹介します。
年の作成
複数フィールドフォーミュラツールを使って、「<2023>」などの年を表す値を列に出力します。
年を列に出力したあとは、元の列に年を表す値は不要になります。不要な行はフィルターツールで取り除きます。
フォーミュラツールでは「<2023>」などの値の不要な文字を取り除いています。
文字列のパース
列分割ツールでは、ピリオドを使って列を分割しています。番号と、そのあとに続く曲名から放送日までの文字列に分割しています。
フォーミュラツールでは、列分割ツールで作成した曲名から放送日までが含まれる列の値を、曲名の列と、ゲストと放送日の列に分けています。
続く2つの正規表現ツールでは、ゲストの列と、放送日の列を作成しています。
放送日の作成
フォーミュラツールを使って年月日の値の列を作成し、日時ツールを使って日付型に変換しています。
セレクトツールでは不要になった列を削除し、列の名前を整えています。
カテゴリ分け
最後にフォーミュラツールを使ってカテゴリ分けを行います。曲名に「ミュージカル」という文字列が含まれている場合は「Musical Songs」とし、含まれていない場合は「Others」としています。
これでデータを出力して完成です。作成したデータは以下のようになっています。
集計結果の確認
可視化に使用するデータについては上述までの工程で完成となりますが、別途集計ツールを使ってカテゴリ別に集計した結果を確認しています。集計結果は以下のようになっています。
Tableauでダッシュボードの作成
まず、バーチャートレースとは以下のようなものになります。
Bar Chart Raceは、英語そのままですが、時系列順に変化する棒グラフをアニメーションとして視覚的に表示するものになります。
引用元:アイカツ!シリーズの誕生祭ツイートTop15をバーチャートレースで競争させてみた
今回作成したグラフは、アニメーションとして動くバーチャートではありますが、時系列順で変化していないので、バーチャートレース風としています。
今回はTableauの標準機能ではなく、Tableau Exchangeに公開されている拡張機能を使用しています。以下のページのダウンロードボタンから.trexファイルをダウンロードして使用します。
使い方については以下のページを参考にしています。
作成したダッシュボードについて、簡単にご紹介します。
シートの作成
Alteryxで作成したデータを読み込み、シートを作成します。通常はシートでダッシュボードに表示するグラフを作成しますが、今回はシートではグラフは作成しません。ただ、ダッシュボードを作成する際に使用するデータを[マーク] > [詳細]に入れておきます。今回はcategory列と、計算フィールドでdate列のcountして集計したものを入れています。
ダッシュボードの作成
ダッシュボードに先ほど作成したシートを追加し、[レイアウト]の浮動にチェックを入れ、幅と高さを1に設定します。
[ダッシュボード]タブの[拡張機能]をダッシュボードにドラッグ&ドロップします。[拡張機能を追加する]ウィンドウが表示されますので、[ローカル拡張機能にアクセス]をクリックし、ダウンロードした.trecファイルを読み込みます。
以下のような画面が表示されますので、矢印のボタンから[構成]をクリックします。
ダッシュボードの設定画面が表示されます。[Selected Worksheet]にダッシュボードに追加したシートを選択すると、[Map data by dragging to the Data Field]にディメンションやメジャーが表示されます。[chartItems]にcategory、[chartValues]にcountをドラッグ&ドロップします。
あとはダッシュボードのタイトルなどを設定して完成です。画面右上に「2016」という表示がなぜか出ていますが、編集する方法が分からず、そのまま残しています。
完成
そんなこんなで完成したダッシュボードの動画がこちらです。
最後に
ラジオ番組で放送された曲を、AlteryxとTableauを使ってバーチャートレース風に可視化してみました。本当はもっと色々と書き連ねたかったという無念な気持ちを残しつつ、本日は301回目の放送ということで、ぎりぎり301回目の放送前に間に合わせて公開です。